hysop.symbolic.base module

class hysop.symbolic.base.DummySymbolicScalar(name, value=None, view=None, **kwds)[source]

Bases: ScalarBase, Dummy

Symbolic scalar dummy symbol.

Symbols are identified by name and assumptions:

>>> from sympy import Symbol
>>> Symbol("x") == Symbol("x")

True >>> Symbol(“x”, real=True) == Symbol(“x”, real=False) False

default_assumptions = {}
dummy_index
class hysop.symbolic.base.DummySymbolicTensor(name, shape, init=None, scalar_cls=None, **kwds)[source]

Bases: TensorBase

Dummy symbolic tensor symbol.

Create a new TensorBase.

class hysop.symbolic.base.ScalarBase(name, value=None, view=None, **kwds)[source]

Bases: ScalarDataViewHolder, ScalarBaseTag

Base for symbolic scalars.

vreplace()[source]

Call ValueHolderI.replace_holded_values on self.

class hysop.symbolic.base.ScalarBaseTag(idx=None, **kwds)[source]

Bases: object

Tag for object that can be inserted as element of tensors.

property idx
class hysop.symbolic.base.ScalarDataViewHolder(holded_data_ref=None, holded_data_access=None, **kwds)[source]

Bases: ValueHolderI

get_holded_value()[source]

Get holded value, defaults to None.

class hysop.symbolic.base.SymbolicScalar(name, value=None, view=None, **kwds)[source]

Bases: ScalarBase, Symbol

Symbolic scalar symbol.

Symbols are identified by name and assumptions:

>>> from sympy import Symbol
>>> Symbol("x") == Symbol("x")

True >>> Symbol(“x”, real=True) == Symbol(“x”, real=False) False

default_assumptions = {}
name: str
class hysop.symbolic.base.SymbolicTensor(name, shape, init=None, scalar_cls=None, **kwds)[source]

Bases: TensorBase

Symbolic tensor symbol.

Create a new TensorBase.

class hysop.symbolic.base.TensorBase(shape, init=None, name=None, pretty_name=None, scalar_cls=None, scalar_kwds=None, make_scalar_kwds=None, value=None, set_read_only=True, dtype=<class 'object'>, **kwds)[source]

Bases: ndarray

Base for symbolic tensors. A tensor is a read-only npw.ndarray subclass containing symbolic scalars or symbolic expressions.

Create a new TensorBase.

__hash__()[source]

Hash this object by its id.

static __new__(cls, shape, init=None, name=None, pretty_name=None, scalar_cls=None, scalar_kwds=None, make_scalar_kwds=None, value=None, set_read_only=True, dtype=<class 'object'>, **kwds)[source]

Create a new TensorBase.

diff(*symbols, **assumptions)[source]

Elementwise sympy.diff().

elementwise_fn(fn)[source]

Apply function fn on each element of the tensor and return the result as a Tensor.

freeze()[source]

Apply elementwise UnevaluatedExpr on each scalar expressions.

latex(matrix='b', with_packages=False)[source]

Return a latex representation of this tensor.

no_split()[source]

Apply elementwise UnsplittedExpr on each scalar expressions.

simplify()[source]

Elementwise sympy.simplify().

sstr()[source]
strrepr()[source]
vreplace()[source]

Elementwise ValueHolderI.replace_holded_values on self.

write_context()[source]

Temporarily grant write access to self for the duration of the context. Only usefull for tensors set as read-only.

xreplace(replacements)[source]

Elementwise sympy.xreplace().

class hysop.symbolic.base.ValueHolderI(*args, **kwds)[source]

Bases: object

Interface for classes that may hold a value that can be replaced in sympy expressions.

get_holded_value()[source]

Get holded value, defaults to None.

classmethod get_holded_values(expr)[source]
classmethod replace_holded_values(expr)[source]
hysop.symbolic.base.vreplace(expr)[source]